package com.dianjing.dianjing.service;

import com.dianjing.dianjing.dto.input.Evaluate;
import com.dianjing.dianjing.dto.input.OrderInput;
import com.dianjing.dianjing.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dianjing.dianjing.util.DataUtils;

import java.util.List;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author LBG
 * @since 2022-11-09
 */
public interface OrderService extends IService<Order> {

    /**
     * 接受需求生成订单
     * @param input
     * @return
     */
    DataUtils receiveDemand(OrderInput input);

    /**
     * 修改订单状态
     * @param input
     * @return
     */
    DataUtils updateOrderState(OrderInput input);

    Boolean createCompleted(Long painterId, Long orderId);

    List<Order> showStateOrderList(Long userId, Integer state);

    Boolean confirmAndEvaluate(Long demanderId, Long orderId, Evaluate evaluate);

    Boolean openShow(Long orderId);
}
